package com.mfs.proxy.server.httpclient;

import com.mfs.proxy.server.httpclient.dto.*;
import feign.Body;
import feign.Headers;
import feign.Param;
import feign.RequestLine;

@Headers("Content-Type: application/json")
public interface ProxyManagerClient {
    @RequestLine("POST /proxy/malloc/verify")
    @Body("{request}")
    VerifyMallocResponse verifyMalloc(@Param("request") VerifyMallocRequest request);

    @RequestLine("POST /proxy/close")
    @Body("{request}")
    CloseClientChannelResponse closeClientChannel(@Param("request") CloseClientChannelRequest request);

    /**
     * 代理服务端接口，注册代理服务器
     *
     * */
    @RequestLine("POST /proxy/server/register")
    @Body("{request}")
    ServerRegisterResponse serverRegister(@Param("request") ServerRegisterRequest request);

    /**
     * 代理服务端接口，注销代理服务器
     * */
    @RequestLine("POST /proxy/server/unregister")
    @Body("{request}")
    ServerUnregisterResponse serverUnregister(@Param("request") ServerUnregisterRequest request);
}
